

"""
使用带有参数的装饰器，其实是在装饰器外面又包裹了一个函数，
使用该函数接收参数，返回是装饰器，因为 @ 符号需要配合装饰器实例使用
"""


# 添加输出日志的功能
def logging(flag):
    def decorator(fn):
        def inner(num1, num2):
            if flag == "+":
                print("--正在努力加法计算--")
            elif flag == "-":
                print("--正在努力减法计算--")
            result = fn(num1, num2)
            return result
        return inner

    # 返回装饰器
    return decorator


@logging('+')
def add(a, b):
    result = a + b
    return result

result = add(1, 3)
print(result)